﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="urn:sharpsts" elementFormDefault="qualified" targetNamespace="urn:sharpsts" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="GetRequestBody">
    <xs:sequence>
      <xs:element name="UserIdentifier" nillable="true" type="xs:string" />
      <xs:element name="AuthenticationType" type="tns:AuthenticationType" />
      <xs:element name="AuthenticationHint" nillable="true" type="tns:AuthenticationHint" />
      <xs:element minOccurs="0" name="CardName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ImageFileName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Claims" nillable="true" type="tns:ArrayOfSupportedClaim" />
      <xs:element minOccurs="0" name="ExpiryDateTime" type="xs:dateTime" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetRequestBody" nillable="true" type="tns:GetRequestBody" />
  <xs:simpleType name="AuthenticationType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="UserNamePassword" />
      <xs:enumeration value="SelfIssued" />
      <xs:enumeration value="Certificate" />
      <xs:enumeration value="Kerberos" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="AuthenticationType" nillable="true" type="tns:AuthenticationType" />
  <xs:complexType name="AuthenticationHint">
    <xs:sequence>
      <xs:element name="Hint" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AuthenticationHint" nillable="true" type="tns:AuthenticationHint" />
  <xs:complexType name="ArrayOfSupportedClaim">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SupportedClaim" nillable="true" type="tns:SupportedClaim" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSupportedClaim" nillable="true" type="tns:ArrayOfSupportedClaim" />
  <xs:complexType name="SupportedClaim">
    <xs:sequence>
      <xs:element name="Uri" nillable="true" type="xs:string" />
      <xs:element name="Description" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SupportedClaim" nillable="true" type="tns:SupportedClaim" />
  <xs:element name="GetRequest" nillable="true" type="tns:GetRequestBody" />
  <xs:complexType name="GetResponseBody">
    <xs:sequence>
      <xs:element name="Card" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:any minOccurs="0" processContents="lax" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="GetResponseBody" nillable="true" type="tns:GetResponseBody" />
  <xs:element name="GetResponse" nillable="true" type="tns:GetResponseBody" />
  <xs:complexType name="RevokeCardRequestBody">
    <xs:sequence>
      <xs:element name="CardIdentifier" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CardVersion" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RevokeCardRequestBody" nillable="true" type="tns:RevokeCardRequestBody" />
  <xs:element name="RevokeCardRequest" nillable="true" type="tns:RevokeCardRequestBody" />
  <xs:element name="ReissueRequest" nillable="true" type="tns:RevokeCardRequestBody" />
</xs:schema>